package cn.iocoder.yudao.module.obj.dal.mysql.base;

import java.util.*;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.obj.dal.dataobject.base.ObjBaseInfoDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.obj.controller.admin.base.vo.*;

/**
 * 项目基础信息表  Mapper
 *
 * @author 测试用户
 */
@Mapper
public interface ObjBaseInfoMapper extends BaseMapperX<ObjBaseInfoDO> {

    default PageResult<ObjBaseInfoDO> selectPage(ObjBaseInfoPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<ObjBaseInfoDO>()
                .eqIfPresent(ObjBaseInfoDO::getXmid, reqVO.getXmid())
                .eqIfPresent(ObjBaseInfoDO::getXmmc, reqVO.getXmmc())
                .eqIfPresent(ObjBaseInfoDO::getXmlx, reqVO.getXmlx())
                .eqIfPresent(ObjBaseInfoDO::getXmnr, reqVO.getXmnr())
                .eqIfPresent(ObjBaseInfoDO::getKssj, reqVO.getKssj())
                .eqIfPresent(ObjBaseInfoDO::getJssj, reqVO.getJssj())
                .eqIfPresent(ObjBaseInfoDO::getXid, reqVO.getXid())
                .eqIfPresent(ObjBaseInfoDO::getJrdd, reqVO.getJrdd())
                .eqIfPresent(ObjBaseInfoDO::getScdd, reqVO.getScdd())
                .eqIfPresent(ObjBaseInfoDO::getFwqdd, reqVO.getFwqdd())
                .eqIfPresent(ObjBaseInfoDO::getFzr, reqVO.getFzr())
                .eqIfPresent(ObjBaseInfoDO::getCjry, reqVO.getCjry())
                .eqIfPresent(ObjBaseInfoDO::getXmzt, reqVO.getXmzt())
                .eqIfPresent(ObjBaseInfoDO::getBz, reqVO.getBz())
                .betweenIfPresent(ObjBaseInfoDO::getCreateTime, reqVO.getCreateTime())
                .orderByDesc(ObjBaseInfoDO::getId));
    }

}